#ifndef BUBBLE_SORT_DEF_2018_02_21
#define BUBBLE_SORT_DEF_2018_02_21

#include <stdint.h>

typedef int		ELE_TYPE;
typedef	int*	ELE_PTR;
 
#define BOOL int
#define FALSE 0
#define TRUE 1
 
#define MAX_LEN	2000000
#define INSERT_SORT_THRESHOLD	16
 
extern uint64_t getCurrentTimeMsec();
extern void print_array(ELE_TYPE arr[], int len);

extern void bubble_sort(ELE_TYPE arr[], int len);
extern void select_sort(ELE_TYPE arr[], int len);
extern void insert_sort(ELE_TYPE arr[], int len);
extern void shell_sort(ELE_TYPE arr[], int len);
extern void merge_sort(ELE_TYPE arr[], int len);
extern void quick_sort(ELE_TYPE arr[], int len);
extern void heap_sort(ELE_TYPE arr[], int len);
 
#endif